40 SPEED= 120: DIM M$(12),X(31),Z$(12): FOR I = 0 TO 6: READ J$(I): READ S$(I): NEXT : FOR I = 1 TO 12: READ Z$(I): READ M$(I): NEXT :XO = 140:YO = 80:PL = .212768698:PS = 7.73490243E -04:T2 = 0:H$(0) = ".":H$(2) = "*"
80 GOSUB 710:K = INT((((N/7) - INT(N/7)) *7) +.1):QN = N -693512: GOSUB 700: PRINT W$;"!": PRINT : PRINT : PRINT " JE PEUX DEJA VOUS DIRE QUE:": PRINT : PRINT : PRINT "VOTRE JOUR DE NAISSANCE EST UN ";: FLASH : PRINT J$(K): NORMAL : PRINT :I = 22: IF M = 7 OR M = 11 THEN I = 21
90 IF M = 3 OR M = 5 OR M = 6 THEN I = 20
100 IF M = 1 OR M = 2 OR M = 4 THEN I = 19
110 Z = M: IF J >I THEN Z = M +1: IF Z >12 THEN Z = 1
140 GOSUB 870: PRINT : PRINT "VOUS N'ETIEZ PAS AU MONDE EN ";A;: PRINT "!": GOSUB 730
150 ER = 1: PRINT : PRINT : PRINT "QUEL EST LE MOIS QUI VOUS INTERESSE?": PRINT : INPUT "NO DU MOIS/ANNEE:";D$:D$ = "1/" +D$: GOSUB 600
160 IF A <100 THEN A = A +1900
170 IF A -AN <0 THEN 140
180 IF A -AN >99 THEN 130
190 PRINT : PRINT "EST-CE BIEN:";M$(M);" ";A;"? ";: GOSUB 760: IF R$ < >"O" THEN PRINT : PRINT : PRINT "ET BIEN RECOMMENCONS!": GOTO 150
200 PRINT : PRINT : PRINT "BON VOYONS UN PEU...": GOSUB 730: GOSUB 730:J = 1: GOSUB 710:QH = N -693512:MH = M:AH = A:QA = QH -QN: IF T2 = 1 THEN 340
205 REM ***** GRAPHISMES
210 GOSUB 700: CALL 62450: VTAB 21: PRINT "THEME HELIOSELENE DU ";JN;M$(MN);" ";AN;:DM = POS(0) -1: VTAB 22: FOR I = 1 TO DM: HTAB I: PRINT "-";: NEXT : PRINT "-": HGR : HCOLOR= 3: FOR I = 1 TO 50: GOSUB 750: IF U >5500 THEN HPLOT X,Y
220 NEXT : FOR I = 1 TO 12: GOSUB 750: IF U >6200 AND X <275 AND X >4 AND Y >5 AND Y <155 THEN GOSUB 730: GOSUB 740
230 NEXT I: GOSUB 730:NS = QN: GOSUB 790: FOR DV = -10 TO 10:DX = SQR(100 - ABS(DV) ^2): HPLOT XO +DX,YO +DV TO XO -DX,YO +DV: NEXT DV
240 VTAB 23: INVERSE : PRINT "SOLEIL";: NORMAL : PRINT ":ACTIVITE ";S$(SA);SS$;:NL = QN *PL:SN = SGN( SIN(NL)):HG = COS(NL): IF HG >SN THEN HG = SN
250 IF POS(0) <40 AND POS(0) >0 THEN PRINT " "
260 FOR AR = 0 TO 6.28 STEP ST:DV = 12 * SIN(AR):DY = RE * SIN(AR):DG = 12 * COS(AR):DD = RE * COS(AR): HPLOT XO +DV,YO -DG TO XO +DY,YO -DD: NEXT AR:HD = - COS(NL): IF HD <SN THEN HD = SN
270 VL = 65 * COS(NL):HL = 65 * SIN(NL): IF ABS( SIN(NL/2)) <.06 THEN 290
280 FOR DV = -10 TO 10 STEP 2:DX = SQR(100 - ABS(DV) ^2):DG = DX *HG:DD = DX *HD: HPLOT XO -HL +DG,YO +VL +DV TO XO -HL +DD,YO +VL +DV: NEXT : GOTO 300
290 FOR DV = -10 TO 10:DX = SQR(100 - ABS(DV) ^2): HPLOT XO -HL +DX,YO +VL +DV: HPLOT XO -HL -DX,YO +VL +DV: NEXT
300 I = HG +HD:L$ = "NOUVELLE LUNE ":PP = 4: IF I <1.7 AND I >.3 THEN L$ = "PREMIER QUARTIER":PP = 1
310 IF I <.3 AND I > -.3 THEN L$ = "PLEINE LUNE ":PP = 2
320 IF I < -.3 AND I > -1.7 THEN L$ = "DERNIER QUARTIER":PP = 3
330 I = 29.53:Q = INT((QN/I - INT(QN/I)) *I): VTAB 24: INVERSE : PRINT "LUNE";: NORMAL : PRINT ":";L$;: HTAB 25: PRINT "AGE:";Q" JOUR";: IF Q >1 THEN PRINT "S";
340 IF PEEK(49408) = 24 AND PEEK(48409) = 176 AND PEEK(49410) = 56 THEN PR# 1: IF T2 = 0 THEN PRINT CHR$(6);: PR# 0
350 GOSUB 730: GOSUB 730: TEXT : PR# 0: GOSUB 700: SPEED= 120: IF T2 = 1 THEN VTAB 4: GOTO 420
460 M1$ = "":M2$ = M$(MH):DX = 0:DY = 0: PRINT : FOR X = 8 TO 2 STEP -2: FOR I = 1 TO DM: HTAB (8 +I): IF X(I) > = X THEN PRINT "*";: IF X = 8 AND DX = 0 THEN DX = I: GOTO 480
470 IF X(I) <8 AND DY = 0 AND DX >0 THEN DY = I -1: IF DY = 1 THEN M1$ = M$(MH):M2$ = M$(MH +1)
480 NEXT : PRINT : NEXT : VTAB PEEK(37) -1: PRINT "GLOBAL": IF DX = DY AND DX >0 THEN GOSUB 870: PRINT : PRINT "JOUR EXCEPTIONNEL:": PRINT : HTAB 10: PRINT "LE ";DX;M$(MH);"!": GOTO 500
490 IF DX >0 THEN PRINT : GOSUB 870: PRINT "PERIODE EXCEPTIONNELLE:": PRINT : HTAB 10: PRINT "DU ";DX;M1$;" AU ";DY;M2$;"!"